package com.hhkj.study.api.index.sevice.biz;

import com.hhkj.study.api.index.model.req.*;
import com.hhkj.study.api.index.model.res.*;

import java.util.List;
import java.util.Map;

/**
 * @Author luowu
 * @Date 2024/9/29 涵 21:17:11
 */
public interface ApiIndexBizService {

    /**
     * 获取轮播图
     * @param req
     * @return
     */
    List<ApiArticleBannerListRes> bannerList(ApiArticleBannerListReq req);

    /**
     * 获取字典树
     * @param req
     * @return
     */
    List<ApiDictTreeListRes> dictTreeList(ApiDictTreeListReq req);

    /**
     * 意向考试推荐商品列表
     * @param req
     * @return
     */
    List<ApiGoodsListRes> goodsList(ApiGoodsListReq req);

    /**
     * 资讯分类列表
     * @return
     */
    List<ApiArticleCatalogListRes> articleCatalogList();

    /**
     * 资讯列表
     * @param req
     * @return
     */
    List<ApiArticleListRes> articleList(ApiArticleListReq req);

    /**
     * 浏览资讯
     * @param id
     * @return
     */
    ApiArticleGetRes lookupArticle(Long id);

    /**
     * 讲师列表
     * @param req
     * @return
     */
    List<ApiTeacherListRes> teacherList(ApiTeacherListReq req);

    /**
     * 考试流程
     * @param req
     * @return
     */
    List<ApiExamFlowListRes> examFlowList(ApiExamFlowListReq req);

    /**
     * 宣传语列表
     * @param req
     * @return
     */
    List<ApiWelcomeListRes> welcomeList(ApiWelcomeListReq req);

    /**
     * 合作伙伴列表
     * @param req
     * @return
     */
    List<ApiCompanyListRes> companyList(ApiCompanyListReq req);

    /**
     * 友情链接
     * @param req
     * @return
     */
    List<ApiFriendLinkListRes> friendLinkList(ApiFriendLinkListReq req);

    /**
     * 书籍列表
     * @param req
     * @return
     */
    List<ApiBookListRes> bookList(ApiBookListReq req);

    /**
     * 根据code和 课程类型获取配置信息
     * @param req
     * @return
     */
    Map<String, String> getConfig(ApiConfigReq req);

    /**
     * 商品详情中的课程详情
     * @param id
     * @return
     */
    ApiCourseRes courseDetail(Long id);

    /**
     * 获取基本配置
     * @param req
     * @return
     */
    List<ApiConfigBaseListRes> getBaseConfig(ApiConfigBaseReq req);
}
